package model

import "time"

type CrudHomePageDetails struct {
	HomePageTemplateId int64
	HomePageDetailList []*HomePageDetails
}

type HomePageTemplate struct {
	Id int64
	Name string
	PlatformId int64
	PlatformName string
	SharePictures string
	ShareDescription string
	HomePageDetailList []*HomePageDetails `gorm:"-"`
	CreatedAt time.Time
	UpdatedAt time.Time
}

type HomePageDetails struct {
	Id int64
	Name string
	HomePageTemplateId int64
	ModuleAreaId int64
	AdvertisementTypeCode string
	AdvertisingContentList []*AdvertisingContent `gorm:"-"`
	PictureStyle int
	Coordinate string   // 4个点的坐标 x,y | x,y
	CoordinateMapList []map[int]interface{} `gorm:"-"`
	JumpMode string
	SpikMode SkipMode `gorm:"-"`
	LeftCommodityType int
	RightCommodityType int
	SecondKillOrCollageActivityId int64
	RightSecondKillOrCollageActivityId int64
	RightJumpMode string
	RightSpikMode SkipMode `gorm:"-"`
	ActivityType int64
	ActivitieList []*Activity `gorm:"-"`
	SpecificActivitiesList string
	CreatedAt time.Time
	UpdatedAt time.Time
}

type AdvertisingType struct {
	Id int64
	Name string
	Code string
	CreatedAt time.Time
	UpdatedAt time.Time
}

type AdvertisingContent struct {
	Id int64
	Name string
	AdvertisingTypeId int64
	AdvertisingTypeName string
	JumpPageId int64
	JumpPageName string
	ReleaseStatus int
	ApplicationDisplay string
	CreatedAt time.Time
	UpdatedAt time.Time
}

type Page struct {
	Id int64
	Name string
	Code string
	PageParameters string  // 列表
	PageParameterList []map[string]interface{} `gorm:"-"`
	CreatedAt time.Time
	UpdatedAt time.Time
}

type Activity struct {
	Id int64
	Name string
	ActivityType int64
	CommodityId int64
	Status int
	Shelf int
	CreatedAt time.Time
	UpdatedAt time.Time
}

type SkipMode struct {
	PageId int64
	PageName string
	ParameterList []*Parameters
}

type Parameters struct {
	PageParametersName string
	PageParametersField string
	Value int64
}

type SkipModeTranscript struct {
	Id int64
	HomePageDetailsId int64
	PageParametersName string
	PageParametersField string
	Value string
}